package com.sinping.qh.service.admin.noticebook;

import com.sinping.qh.api.support.FrontPage;
import com.sinping.qh.api.support.ResDto;
import com.sinping.qh.dto.admin.noticebook.NoticeBookAuditDto;
import com.sinping.qh.dto.admin.noticebook.NoticeBookReturnDto;
import com.sinping.qh.dto.admin.record.HiddendangerRecordDto;
import com.sinping.qh.dto.common.CommonDTO;
import com.sinping.qh.dto.common.ICommonDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author jiahuaiqing
 * @create 2018/5/30
 */
public interface INoticeBookService {

    /**
     * 添加通知书记录入库
     * @param noticeBookDto
     * @return
     */
    ResDto addNoticeBook(HttpServletRequest request,NoticeBookReturnDto noticeBookDto);

    /**
     * 通知书列表--分页
     * @param page
     * @return
     */
    ResDto noticeBookFrontPage(FrontPage page, ICommonDTO commonDTO);

    /**
     * 修改通知书详情
     * @return
     */
    ResDto updateNoticeBook(HttpServletRequest request, NoticeBookReturnDto noticeBookDto);

    /**
     * 修改通知书状态或通知书方案状态
     * @return
     */
    ResDto updateNoticeBookStatus(HttpServletRequest request,NoticeBookReturnDto noticeBookDto);

    /**
     * 获取通知书详情(基本信息/隐患信息/审核信息)
     * @param id
     * @return
     */
    ResDto getNoticeBookById(String id);

    /**
     * 获取通知书详情(基本信息/隐患信息/审核信息)--然后生成整改报告Report
     * @param id
     * @return
     */
    ResDto generateReportNoticeBookById(String id);

    /**
     * 添加通知书审核信息
     * @param noticeBookAuditDto
     * @return
     */
    ResDto addNoticeBookAudit(HttpServletRequest request,NoticeBookAuditDto noticeBookAuditDto);

    /**
     * 添加通知书方案信息
     * @param hiddendangerRecordDtoList
     * @return
     */
    ResDto addNoticeBookCaseInfo(HttpServletRequest request,List<HiddendangerRecordDto> hiddendangerRecordDtoList);
    /**
     * 修改通知书方案信息
     * @param hiddendangerRecordDtoList
     * @return
     */
    ResDto updateNoticeBookCaseInfo(HttpServletRequest request,List<HiddendangerRecordDto> hiddendangerRecordDtoList);

    /**
     * 获取整改方案信息
     * @param id
     * @return
     */
    ResDto getNoticeBookCaseInfo(String id);


    String saveNoticePdf(String id);
}
